Location Priorities and Preemption

Priorities determine which entity or downtime uses a location when more than one entity or downtime is contending for it. Priorities may be any value or expression between 0 and 999, with higher values having higher priority. For simple prioritizing, you should use priorities from 0 to 99. Priorities greater than 99 are used for preempting (bumping or displacing) entities or downtimes currently occupying a location.

Priority values are divided into ten levels (0 to 99, 100 to 199, ..., 900 to 999), with values beyond 99 used for preempting entities or downtimes of a lower priority level. Multiple preemptive levels make it possible to preempt entities or downtimes that are themselves preemptive. This means that an entity, EntA, with a priority of 99 can be preempted by another entity, EntB, with a higher priority level of 199. In turn, another entity, EntC, with a priority of 299 can preempt EntB at the same location.

To preempt an entity currently using a location, a preempting entity or downtime must have a priority at least ONE level higher than the entity currently at the location. To preempt a downtime in effect at a location, a preempting entity must have a priority at least TWO levels higher than the current downtime. Since all overlapping location downtimes are processed concurrently (except setup downtimes), a downtime cannot, in effect, preempt another downtime.

A preempted entity will resume processing where it left off unless the location was in the middle of a setup downtime. If the entity initiated a setup downtime before being preempted, it will begin processing the setup logic from the beginning when it resumes.

Assigning priorities

An entity or downtime accesses a location based on its priority. An entity is assigned a priority for accessing a location in the Destination column of the Routing edit table. A downtime is assigned a priority in the appropriate Downtime edit table. The first of the following examples shows a priority of 100 assigned to EntA as it tries to claim Loc2. This priority is high enough to preempt any entity at the location having a priority less than 100. It is not high enough, however, to preempt any downtimes at the location.

Process Table

Entity

Location

Operation (min)

EntA

Loc1

USE Res1 FOR N(3,.1)

Routing Table

Blk

Output

Destination

Rule

Move Logic

1

EntA

Loc2, 100

First 1

MOVE FOR 1

This example shows a priority of 200 assigned to a usage-based downtime at Loc4. This priority can preempt any entity at the location with a priority less than 200.

 

The following table shows the minimum priority level requirements for an incoming entity or an upcoming downtime to preempt the current entity or downtime at the location.

Minimum Required Priority Levels for Preempting at a Location

 

To preempt the
Current Entity

To preempt the Current downtime

Incoming Entity

1 priority level higher

2 priority levels higher

Upcoming Downtime

1 priority level higher

Downtimes overlap

The upper left quadrant shows that for an entity to gain access to a location already processing another entity, the incoming entity must have a priority at least one level higher than the current entity's priority.

The upper right quadrant shows that for an incoming entity to gain access to a location where a downtime is currently in effect, the entity must have a priority at least two levels higher than the downtime's priority.

The lower left quadrant shows that a for a downtime to preempt an entity currently processing, the downtime must have a priority one level higher than the currently processing entity.

The lower right quadrant shows that all location downtimes (except setup) are concurrent or overlapping. Setup downtimes preempt as if they were entities.

The following examples demonstrate the explanations above in greater detail.

Example 1

The following example demonstrates what happens when Ent 1 with a priority of 99 is preempted by Ent 2 which has a priority of 100 or greater.

Example 2

This example demonstrates what happens when a downtime having a priority of 99 is preempted by an entity having a priority of 200 or greater.

Example 3

This example demonstrates the behavior when an entity with a priority of 99 is preempted by a downtime with a priority value of 100 or greater.

Example 4

This example illustrates how, regardless of the downtime priority values, downtimes will overlap. The exception is setup downtimes, which preempt downtimes exactly like entities (see Example 5).

Example 5

This example demonstrates what happens when a setup downtime with a priority of 99 is preempted by a normal downtime having a priority of 100 or greater.

Example 6

This example demonstrates what happens when Ent 1 setup downtime with a priority of 99 is preempted by Ent 2 having a priority of 100 or greater.